In general, the functionality of a computer system is achieved using the combination of hardware and software. The hardware includes functionality to execute the instructions defined in the software. The combination of the hardware and the software allows the user to perform various tasks, such as play games, perform word processing applications, perform complicated modeling of a geographical region, design new technologies, and/or perform other such tasks.
The hardware includes various components to facilitate the processing of instructions. Specifically, the hardware includes a computer processor and hardware memory modules. The hardware memory modules provide memory for storing data for use by the computer processor. For example, the data may include the instructions being executed by the computer processor and information required by the instructions to execute. When the computer processor requires data from memory, the computer processor sends a request to a memory control unit. The memory control unit identifies the physical location on a hardware memory module in which the data is located, obtains the data from memory, and transmits the data to the processor.
Occasionally, the computer processor may not require the use of memory. For example, the computer processor may have suspended processing instructions. On such occasions, memory provided by the hardware memory modules may be idle. To conserve power when the memory is idle, the memory is switched to a power down state.